﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using HMS_Hospital_Team2._6.DA;
using HMS_Hospital_Team2._6.DO;

namespace HMS_Hospital_Team2._6.BL
{
    class HoaDonBL
    {
        HoaDonDA thutien = new HoaDonDA();

        // Hàm load data lên combobox Loại DV
        public DataTable LoadthongtinNhomDV_BL()
        {
            return thutien.LoadthongtinNhomDV_DA();
        }
        // Hàm load data lên combobox Dịch vụ
        public DataTable LoadthongtinDV_BL(string sMaNhomDV)
        {
            return thutien.LoadthongtinDV_DA(sMaNhomDV);
        }
        // Hàm load data lên gridview
        public DataTable ThemDichVu_BL(string sMaDV)
        {
            return thutien.ThemDichVu_DA(sMaDV);
        }
        //Hàm load hóa đơn
        public DataTable LoadHDchuathu_BL(string sMaban)
        {
            return thutien.LoadHDchuathu_DA(sMaban);
        }
        // Hàm load hóa đơn đã thu
        public DataTable LoadHDdathu_BL(string sMaban)
        {
            return thutien.LoadHDdathu_DA(sMaban);
        }

        public DataTable LoaddsHoaDon_DA(string smaBN)
        {
            return thutien.LoaddsHoaDon_DA(smaBN);
        }
        //Ham cap nhat thong tin vao csdl cua nhan vien thu tien
        public static void Xacnhanthutien_BL(string sMahoadon, string sMaNguoiThu,bool blTrangThai)
        {
            DA.HoaDonDA.Xacnhanthutien_DA(sMahoadon, sMaNguoiThu,blTrangThai);
        }
        // Hàm cập nhật trạng thái chọn trả
        public static void CapnhattrangthaiDV_BL(string sMaDV, string sMahoadon, bool bltrangthai)
        {
            DA.HoaDonDA.CapnhattrangthaiDV_DA(sMaDV, sMahoadon, bltrangthai);
        }
        // Hàm lấy danh sách nhân viên nhập liệu
        public static List<NhanVienDO> LaydanhsachNVNL_BL()
        {
            return DA.HoaDonDA.LaydanhsachNVNL_DA();
        }
        // Hàm lấy danh sách nhân viên thu tiền
        public static List<NhanVienDO> LaydanhsachNVTT_BL()
        {
            return DA.HoaDonDA.LaydanhsachNVTT_DA();
        }
        /*
         * CHỨC NĂNG THỐNG KÊ DOANH THU
         * */
        /*
         * NHÓM DỊCH VỤ
         * */
        // Hàm load data lên gridview Thống kê doanh thu theo NGÀY(Nhóm dịch vụ)
        public DataTable ThongkedoanhthuNhomDV_Ngay_BL(int day, int month, int year, string madv)
        {
            return thutien.ThongkedoanhthuNhomDV_Ngay_DA(day, month, year, madv);
        }
        // Hàm load data lên gridview Thống kê doanh thu theo THÁNG (Nhóm dịch vụ)
        public DataTable ThongkedoanhthuNhomDV_Thang_BL(int month, string manv,int iyear)
        {
            return thutien.ThongkedoanhthuNhomDV_Thang_DA(month, manv,iyear);
        }
        // Hàm load data lên gridview Thống kê doanh thu theo KHOẢNG NGÀY (Nhóm dịch vụ)
        public DataTable ThongkedoanhthuNhomDV_KhoangNgay_BL(int DayFromDay, int DayFromMonth, int DayFromYear, int DayToDay, int DayToMonth, int DayToYear, string madv)
        {
            return thutien.ThongkedoanhthuNhomDV_KhoangNgay_DA(DayFromDay, DayFromMonth, DayFromYear, DayToDay, DayToMonth, DayToYear, madv);
        }
        /*
         * ĐƠN VỊ THU NGÂN
         * */
        // Hàm load data lên gridview Thống kê doanh thu theo NGÀY(Đơn vị thu ngân)
        public DataTable ThongkedoanhthuDonvitn_Ngay_BL(int day, int month, int year, string madv)
        {
            return thutien.ThongkedoanhthuDonvitn_Ngay_DA(day, month, year, madv);
        }
        // Hàm load data lên gridview Thống kê doanh thu theo THÁNG(Đơn vị thu ngân)
        public DataTable ThongkedoanhthuDonvitn_Thang_BL(int month, string madv, int iyear)
        {
            return thutien.ThongkedoanhthuDonvitn_Thang_DA(month, madv,iyear);
        }
        // Hàm load data lên gridcontrol Thống kê doanh thu theo KHOẢNG NGÀY (Đơn vị thu ngân)
        public DataTable ThongkedoanhthuDonvitn_KhoangNgay_BL(int DayFromDay, int DayFromMonth, int DayFromYear, int DayToDay, int DayToMonth, int DayToYear, string madv)
        {
            return thutien.ThongkedoanhthuDonvitn_KhoangNgay_DA(DayFromDay, DayFromMonth, DayFromYear, DayToDay, DayToMonth, DayToYear, madv);
        }
       /*
        * TẤT CẢ
        * */
        // Hàm load data lên gridcontrol Thống kê doanh thu theo NGÀY (Tất cả)
        public DataTable ThongkedoanhthuTatca_Ngay_BL(int day, int month, int year)
        {
            return thutien.ThongkedoanhthuTatca_Ngay_DA(day, month, year);
        }
        // Hàm load data lên gridcontrol Thống kê doanh thu theo THÁNG (Tất cả)
        public DataTable ThongkedoanhthuTatca_Thang_BL(int month, int iyear)
        {
            return thutien.ThongkedoanhthuTatca_Thang_DA(month,iyear);
        }
        // Hàm load data lên gridcontrol Thống kê doanh thu theo KHOẢNG NGÀY (Tất cả)
        public DataTable ThongkedoanhthuTatca_KhoangNgay_BL(int DayFromDay, int DayFromMonth, int DayFromYear, int DayToDay, int DayToMonth, int DayToYear)
        {
            return thutien.ThongkedoanhthuTatca_KhoangNgay_DA(DayFromDay, DayFromMonth, DayFromYear, DayToDay, DayToMonth, DayToYear);
        }

        /*
         * CHỨC NĂNG BÁO CÁO BIÊN LAI
         * */
        /*
         * NHÂN VIÊN NHẬP LIỆU
         * */
        // Hàm load data lên gridview Báo cáo biên lai theo NGÀY(Nhân viên nhập liệu)
        public DataTable BaocaobienlaiNVnl_Ngay_BL(int day, int month, int year, string smanv)
        {
            return thutien.BaocaobienlaiNVnl_Ngay_DA(day, month, year,smanv);
        }
        // Hàm load data lên gridview Báo cáo biên lai theo THÁNG(Nhân viên nhập liệu)
        public DataTable BaocaobienlaiNVnl_Thang_BL(int month, string smanv,int iyear)
        {
            return thutien.BaocaobienlaiNVnl_Thang_DA(month, smanv, iyear);
        }
        // Hàm load data lên gridview Báo cáo biên lai theo KHOẢNG NGÀY(Nhân viên nhập liệu)
        public DataTable BaocaobienlaiNVnl_KhoangNgay_BL(int DayFromDay, int DayFromMonth, int DayFromYear, int DayToDay, int DayToMonth, int DayToYear, string smanv)
        {
            return thutien.BaocaobienlaiNVnl_KhoangNgay_DA(DayFromDay, DayFromMonth, DayFromYear, DayToDay, DayToMonth, DayToYear,smanv);
        }
        /*
         * NHÂN VIÊN THU TIỀN
         * */
        // Hàm load data lên gridview Báo cáo biên lai theo NVTT theo NGÀY(Nhân viên thu tiền)
        public DataTable BaocaobienlaiNVtt_Ngay_BL(int day, int month, int year, string smanv)
        {
            return thutien.BaocaobienlaiNVtt_Ngay_DA(day, month, year,smanv);
        }
        // Hàm load data lên gridview Báo cáo biên lai theo NVTT theo THÁNG(Nhân viên thu tiền)
        public DataTable BaocaobienlaiNVtt_Thang_BL(int month, string smanv,int iyear)
        {
            return thutien.BaocaobienlaiNVtt_Thang_DA(month,smanv,iyear);
        }
        // Hàm load data lên gridview Báo cáo biên lai theo NVTT theo KHOẢNG NGÀY(Nhân viên thu tiền)
        public DataTable BaocaobienlaiNVtt_KhoangNgay_BL(int DayFromDay, int DayFromMonth, int DayFromYear, int DayToDay, int DayToMonth, int DayToYear, string smanv)
        {
            return thutien.BaocaobienlaiNVtt_KhoangNgay_DA(DayFromDay, DayFromMonth, DayFromYear, DayToDay, DayToMonth, DayToYear,smanv);
        }
        /*
         * TẤT CẢ
         * */
        // Hàm load data lên combobox Nhân viên
        public DataTable LoadthongtinNVNL_BL()
        {
            return thutien.LoadthongtinNVNL_DA();
        }
        // ------ THEO NHÂN VIÊN NHẬP LIỆU ------------
        // Hàm load data lên gridcontrol Báo cáo biên lai theo NGÀY (Tất cả)
        public DataTable BaocaobienlaitatcaNL_Ngay_BL(int day, int month, int year)
        {
            return thutien.BaocaobienlaitatcaNL_Ngay_DA(day,month,year);
        }
        // Hàm load data lên gridcontrol Báo cáo biên lai theo THÁNG (Tất cả)
        public DataTable BaocaobienlaitatcaNL_Thang_BL(int month)
        {
            return thutien.BaocaobienlaitatcaNL_Thang_DA(month);
        }
        // Hàm load data lên gridcontrol Báo cáo biên lai theo KHOẢNG NGÀY (Tất cả)
        public DataTable BaocaobienlaitatcaNL_KhoangNgay_BL(int DayFromDay, int DayFromMonth, int DayFromYear, int DayToDay, int DayToMonth, int DayToYear)
        {
            return thutien.BaocaobienlaitatcaNL_KhoangNgay_DA(DayFromDay, DayFromMonth, DayFromYear, DayToDay, DayToMonth, DayToYear);
        }
       // -------- THEO NHÂN VIÊN THU TIỀN --------
        public DataTable BaocaobienlaitatcaTT_Ngay_BL(int day, int month, int year)
        {
            return thutien.BaocaobienlaitatcaTT_Ngay_DA(day, month, year);
        }
        // Hàm load data lên gridcontrol Báo cáo biên lai theo THÁNG (Tất cả)
        public DataTable BaocaobienlaitatcaTT_Thang_BL(int month,int iyear)
        {
            return thutien.BaocaobienlaitatcaTT_Thang_DA(month,iyear);
        }
        // Hàm load data lên gridcontrol Báo cáo biên lai theo KHOẢNG NGÀY (Tất cả)
        public DataTable BaocaobienlaitatcaTT_KhoangNgay_BL(int DayFromDay, int DayFromMonth, int DayFromYear, int DayToDay, int DayToMonth, int DayToYear)
        {
            return thutien.BaocaobienlaitatcaTT_KhoangNgay_DA(DayFromDay, DayFromMonth, DayFromYear, DayToDay, DayToMonth, DayToYear);
        }
        /*
         * CHỨC NĂNG BÁO CÁO DANH SÁCH THU TIỀN
         * */
        // Hàm load data lên gridcontrol Báo cáo danh sách thu tiền theo NGÀY (Nhóm dịch vụ)
        public DataTable BaocaodanhsachthutienNhomDV_Ngay_BL(int day, int month, int year, string madv)
        {
            return thutien.BaocaodanhsachthutienNhomDV_Ngay_DA(day,month,year, madv);
        }
        // Hàm load data lên gridcontrol Báo cáo danh sách thu tiền  theo NGÀY (Đơn vị thu ngân)
        public DataTable BaocaodanhsachthutiennDonVitn_Ngay_BL(int day, int month, int year, string madonvi)
        {
            return thutien.BaocaodanhsachthutiennDonVitn_Ngay_DA(day,month,year, madonvi);
        }
        // Hàm load data lên gridcontrol Báo cáo danh sách thu tiền theo NGÀY (Tất cả theo đơn vị thu ngân)
        public DataTable BaocaodanhsachthutienntatcaDonVitn_Ngay_BL(int day, int month, int year)
        {
            return thutien.BaocaodanhsachthutienntatcaDonVitn_Ngay_DA(day, month, year);
        }

    }
}
